
<html>
  <head>
    <title>Coupling PageRank</title>
    <link rel="stylesheet" type="text/css" href="pynocle.css" media="screen" />
    <script type='text/javascript' src='https://www.google.com/jsapi'></script>
    <script type='text/javascript'>
      google.load('visualization', '1', {packages:['table']});
      google.setOnLoadCallback(drawTable);
      function drawTable() {
        var data = new google.visualization.DataTable();
        
        data.addColumn('string', 'Filename');
        data.addColumn('number', 'PageRank');
        data.addColumn('number', 'PageID');
        data.addColumn('string', 'Outgoing Links');

        data.addRow(['utils', {'f': '24.79654', 'v': 0.24796535}, 3, '[]']);

        data.addRow(['_modulefinder', {'f': '6.70002', 'v': 0.06700018}, 1, '[]']);

        data.addRow(['depgraph\\pagerank', {'f': '6.07425', 'v': 0.060742512}, 15, '[3]']);

        data.addRow(['tableprint', {'f': '5.23990', 'v': 0.052398957}, 10, '[]']);

        data.addRow(['sloc\\_doc', {'f': '3.77977', 'v': 0.037797734}, 21, '[]']);

        data.addRow(['cyclcompl\\_doc', {'f': '3.77977', 'v': 0.037797734}, 9, '[]']);

        data.addRow(['depgraph\\_doc', {'f': '3.57118', 'v': 0.035711847}, 14, '[]']);

        data.addRow(['sloc\\__init__', {'f': '3.57118', 'v': 0.035711847}, 7, '[]']);

        data.addRow(['depgraph\\__init__', {'f': '3.57118', 'v': 0.035711847}, 6, '[]']);

        data.addRow(['cyclcompl\\__init__', {'f': '3.57118', 'v': 0.035711847}, 5, '[]']);

        data.addRow(['sloc\\formatting', {'f': '2.94542', 'v': 0.029454181}, 20, '[3, 10, 21]']);

        data.addRow(['inheritance\\__init__', {'f': '2.94542', 'v': 0.029454181}, 19, '[3]']);

        data.addRow(['funcinfo\\__init__', {'f': '2.94542', 'v': 0.029454181}, 18, '[3]']);

        data.addRow(['depgraph\\test_pagerank', {'f': '2.94542', 'v': 0.029454181}, 17, '[15]']);

        data.addRow(['depgraph\\rendering', {'f': '2.94542', 'v': 0.029454181}, 16, '[3]']);

        data.addRow(['depgraph\\formatting', {'f': '2.94542', 'v': 0.029454181}, 13, '[3, 10, 14, 15]']);

        data.addRow(['depgraph\\depbuilder', {'f': '2.94542', 'v': 0.029454181}, 12, '[1, 3]']);

        data.addRow(['cyclcompl\\statbuilder', {'f': '2.94542', 'v': 0.029454181}, 11, '[3]']);

        data.addRow(['cyclcompl\\formatting', {'f': '2.94542', 'v': 0.029454181}, 8, '[3, 9, 10]']);

        data.addRow(['__init__', {'f': '2.94542', 'v': 0.029454181}, 4, '[3, 5, 6, 7]']);

        data.addRow(['test_utils', {'f': '2.94542', 'v': 0.029454181}, 2, '[3]']);

        data.addRow(['test_modulefinder', {'f': '2.94542', 'v': 0.029454181}, 0, '[1]']);

        var table = new google.visualization.Table(document.getElementById('table_div'));
        table.draw(data, {showRowNumber: true});
      }
    </script>
  </head>

  <body>
    <h1>Coupling/Module Rank</h1>
<p>Coupling only tells a part of the story. Imagine you have a helper package,
and the package root (__init__) is used by every other module in your system.
However there may be several 'implementation' modules in this helper package,
which while having very low coupling (they are only referred to by
the __init__.py file), are indirectly very important for your application.</p>
<p>This situation is very much like the ranking of web pages.
We can use the Google PageRank algorithm to determine how important
all modules are.</p>
<p>The most highly ranked modules should have
the most thorough testing since the most amount of code is dependent
upon them.</p>
<p>For more info about coupling, see <a name="the Wikipedia article on coupling" href="http://en.wikipedia.org/wiki/Coupling_(computer_programming)">the Wikipedia article on coupling</a><target ids="the-wikipedia-article-on-coupling" names="the\ wikipedia\ article\ on\ coupling" href="http://en.wikipedia.org/wiki/Coupling_(computer_programming)" />.</p>
<p>For more information about PageRank, see <a name="the Wikipedia article on PageRank" href="http://en.wikipedia.org/wiki/Page_rank">the Wikipedia article on PageRank</a><target ids="the-wikipedia-article-on-pagerank" names="the\ wikipedia\ article\ on\ pagerank" href="http://en.wikipedia.org/wiki/Page_rank" />.</p>
<p>Showing PageRank coupling for C:/PythonDev/pynocle/pynocle.</p><div id='table_div'></div>
  </body>
</html>